Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Electronic devices may use one or more of several different kinds of memory elements. One such memory element may be dynamic random-access memory (DRAM), which may offer a feature of great speed but at the cost of frequent refreshing. Also, DRAM may be volatile, that is, it may lose any data when power is removed. Various kinds of non-volatile memory have been developed to avoid the disadvantages of DRAM. For example, the non-volatile memory may include phase-change memory (PCM), magnetoresistive RAM (MRAM), spin-transfer torque RAM (STT-RAM), flash memory, and other memory cells that may retain stored data when power is removed. Several kinds of non-volatile memory may be implemented either as single-level cells (SLC) which may store a single bit or multi-level cells (MLC) which may store more than one bit. Each of these various kinds of volatile memory and non-volatile memory may have strengths and weaknesses, and no one memory device may provide an ideal solution for all applications.